
var http = require('http');
var qs = require('querystring');
const { signature, USER } = require('./util')


//以下URL参数不需要修改
var HOST = "api.feieyun.cn";     //域名
var PORT = "80";		         //端口
var PATH = "/Api/Open/";         //接口路径
class PrintCtl {
	static async list(ctx) {
		ctx.body = 'hello world'
	}
	// 打印订单
	static async print_order(ctx) { // 打印机的编号
		const { request } = ctx;
		const { body, query } = request;
		// const sn = body.sn
		const sn = '922515408'
		var orderInfo;
		orderInfo = "<CB>结账单</CB><BR>";//标题字体如需居中放大,就需要用标签套上
		orderInfo += "<CB>小林家肉夹馍</CB><BR>";//标题字体如需居中放大,就需要用标签套上
		orderInfo += "<CB>桌号：10</CB><BR>";//标题字体如需居中放大,就需要用标签套上
		orderInfo += "单号：12114<BR>";
		orderInfo += "下单时间：2012-02-03 09:09:20<BR>";
		orderInfo += "名称　　　单价   数量    金额<BR>";
		orderInfo += "---------------------------<BR>";
		orderInfo += "番　　　　1.0    1      1.0<BR>";
		orderInfo += "番茄　　　10.0   10     10.0<BR>";
		orderInfo += "番茄炒会发<BR>生立法发送　　10.0   100    100.0<BR>";
		orderInfo += "-----------------------------<BR>";
		orderInfo += "合计：           100      180 <BR>";
		orderInfo += "-----------------------------<BR>";
		orderInfo += "<BOLD>优惠金额：</BOLD>                0<BR>";
		orderInfo += "实付金额：                180 <BR>";
		orderInfo += "付款方式：             账户余额<BR>";
		orderInfo += "备注：快点送到xxxxxxxxxxxxxxxxxxxxxxxxxxx";
		var STIME = Math.floor(new Date().getTime() / 1000);//请求时间,当前时间的秒数
		var post_data = {
			user: USER,//账号
			stime: STIME,//当前时间的秒数，请求时间
			sig: signature(STIME),//签名
			apiname: "Open_printMsg",//不需要修改
			sn: sn,//打印机编号
			content: orderInfo,//打印内容
			times: "1"//打印联数,默认为1
		};
		var content = qs.stringify(post_data);
		var options = {
			hostname: HOST,
			port: PORT,
			path: PATH,
			method: 'POST',
			headers: {
				'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
			}
		};
		var req = http.request(options, function (res) {
			res.setEncoding('utf-8');
			res.on('data', function (response) {
				//response是返回的JSON字符串
				//服务器返回值，建议要当做日志记录起来
				console.log(response);
				ctx.body = response
			});
		});
		req.on('error', function (e) {
			ctx.body = e
		});
		req.write(content);
		req.end();
	}
	static async add_device(ctx) {
		ctx.body = 'hello world'
	}
}

module.exports = PrintCtl;
